package tv.acgn.advertisement.servicebase.exception;

import lombok.Getter;
import lombok.Setter;

/**
 * @program: advertisement-ad-service-base
 * @description: 广告系统业务异常基础抽象类 所有自定义业务异常都继承此类
 * @author: junG
 * @create: 2019-04-23 01:01
 **/

public abstract class AbstractAdSysBusinessException extends RuntimeException{

    /**
     * 业务异常信息
     */
    @Getter
    @Setter
    private String message;

    /**
     * 异常错误码 用于系统间快速标识错误
     * 可用于支持国际化
     * 形式为 [模块].[功能].[错误]
     * AdServiceBase.User.NotFound
     */
    @Getter
    @Setter
    private String errorCode;

    /**
     * 异常等级 可用于
     * 通知监控日志系统
     * 执行不同的收集和通知策略
     */
    @Getter
    @Setter
    private Integer level;

    /**
     * 全局级
     * 异常扩展信息
     * 可用于支持其他需要的
     * 异常内容
     */
    @Getter
    @Setter
    private Object extendInfo;

    public AbstractAdSysBusinessException(String message) {
        super(message);
    }
}
